1. Field
This disclosure relates generally to data processing systems, and more specifically, to techniques for supporting direct memory access (DMA) operations.
2. Related Art
The desirability of advanced multimedia, graphics and even gaming capabilities and features in small-form-factor and power-budget-limited devices, such as mobile phones, personal digital assistants and media players is growing. To provide such capabilities, modern designs are often equipped with high-performance CPUs, high-bandwidth buses and large memories as well as with mechanisms that allow the CPUs to intelligently offload responsibility for data transfers between peripherals and memory using direct memory access (DMA) techniques.
DMA techniques have a long history in computer systems and numerous design variations have been employed, but generally speaking DMA performs the task of transferring blocks of data from one place to another (e.g., between an I/O device and memory, between memory locations as in scatter-gather operations, etc.). Although such transfers are often initiated by a CPU, execution of the transfer does not typically require further CPU involvement. As a result, the CPU is able to perform other functions concurrent with DMA-mediated transfers. This division of labor can be desirable in many designs, but particularly in designs in which peripheral I/O operates at data transfer speeds slower than supported for memory accesses by the CPU, and those in which high data rate transfers such as for audio playback, streaming video or wireless communications are to be supported concurrently with computations performed by the CPU.
The use of the same reference symbols in different drawings indicates similar or identical items.